package com.haogu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.haogu.entity.PTask;
import com.haogu.entity.Task;
import com.haogu.entity.TaskPrompt;
import com.haogu.entity.VTask;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface TaskMapper extends BaseMapper<Task> {
    /**
     * 分页查询全部
     * @param page
     * @param
     * @return
     */
    List<VTask> selectAllTaskByPage(@Param("page") Integer page, @Param("p")PTask p);

    /**
     * 删除的时候，修改删除人和删除时间
     */
    int updateDeleteUserIdAndDeleteTime(@Param("deleteUserId") Integer deleteUserId,@Param("id") Integer id);

    /**
     * 关闭任务
     * @param id
     * @return
     */
    int updateIsCloseAndStatus(Integer id);

    /**
     * 快到截止时间发起提醒
     */
    List<TaskPrompt> taskTiXing();

    List<VTask> selectAllTaskByPageHuishou(@Param("page") Integer page,@Param("rows") Integer rows,
                                           @Param("subject") String subject,@Param("select") Integer select);

    /**
     * 删除回收站中的一条记录
     * @param id
     * @return
     */
    int toDeleteTaskHuishou(Integer id);

    /**
     * 清空所有
     * @return
     */
    int toClearAll();

    /**
     * 恢复
     * @param id
     */
    int huiFuTask(Integer id);
}
